/**
CONSTANT ATTRIBUTES
*/
PAGE_BACKGROUND='#FFFFFF'
PAGE_TLE_BACKGROUND='#003366'
SECTION_TLE_BACKGROUND='#346666'
BLOCK_LBL_BACKGROUND='#CCCCCC'
COLUMN_LBL_BACKGROUND='#CCCCCC'
SORT_LINK_TLE_FOREGROUND='#000000'
FONTTYPE='Verdana, Arial, Helvetica, sans-serif'
maxLengthAmount=19
maxSizeAmount=23
/**
CALENDAR AND DATE
*/
var SERVERDAY = ""
var SERVERMONTH = ""
var SERVERYEAR = ""
var now = new Date()
var offset = now.getTime()
var child
var monthF
var dayF
var yearF
var singleF
/**
BLOCK ATTRIBUTES
*/
var CurrentTransactionBlock = new TransactionBlock()
/**
ML Calendar Months and Days
*/
var CalendarMonths=new Array()
var CalendarMonthsKey=new Array()
var CalendarDays=new Array()
/**
ERROR AND VALIDATION SCREENS
*/
var SUBWINDOWWIDTH=400
var SUBWINDOWHEIGHT=280
var SUBWINDOWMSG1=" "
var SUBWINDOWMSG2=" "
var SUBWINDOWMSG3=" "
var ERRORMSG=new Array()
var ERRORCAPTION="ERROR"
var TRANS_ERRORCAPTION="ERROR"
var CONTINUE = " "
var messageDtls=new Array(2)
function initTransactionBlock(){
var o=new TransactionBlock()
o.blockId='Main Transaction Window'
o.backgroundImage='img/mainback.jpg'
o.bodyTextAlignment='Normal'
o.size='0'
o.position='0:0'
o.pageLabel.fontType=FONTTYPE
o.pageLabel.fontSize='2'
o.pageLabel.fontEmphasis='BOLD'
o.pageLabel.fontInclination='NORMAL'
o.pageLabel.fontColour='#FFFFFF'
o.pageLabel.fontUnderline='false'
o.pageLabel.alignment='CENTER'
o.sectLabel.fontType=FONTTYPE
o.sectLabel.fontSize='2'
o.sectLabel.fontEmphasis='BOLD'
o.sectLabel.fontInclination='NORMAL'
o.sectLabel.fontColour='#FFFFFF'
o.sectLabel.fontUnderline='false'
o.sectLabel.alignment='CENTER'
o.blockLabel.fontType=FONTTYPE
o.blockLabel.fontSize='2'
o.blockLabel.fontEmphasis='BOLD'
o.blockLabel.fontInclination='NORMAL'
o.blockLabel.fontColour='#000000'
o.blockLabel.fontUnderline='false'
o.blockLabel.alignment='CENTER'
o.columnLabel.fontType=FONTTYPE
o.columnLabel.fontSize='2'
o.columnLabel.fontEmphasis='BOLD'
o.columnLabel.fontInclination='NORMAL'
o.columnLabel.fontColour='#000000'
o.columnLabel.fontUnderline='false'
o.columnLabel.alignment='CENTER'
o.links.fontType=FONTTYPE
o.links.fontSize='2'
o.links.fontEmphasis='BOLD'
o.links.fontInclination='NORMAL'
o.links.fontColour='#0000CC'
o.links.fontUnderline='false'
o.text.fontType=FONTTYPE
o.text.fontSize='2'
o.text.fontEmphasis='NORMAL'
o.text.fontInclination='NORMAL'
o.text.fontColour='#000000'
o.text.fontUnderline='false'
CurrentTransactionBlock=o
}
function format(_type, _stype, _str, _id, _lColor){
var rv=""
var o=CurrentTransactionBlock
var cO
if(_type=="label"){
if(_stype=="page")
cO=o.pageLabel
else if(_stype=="section")
cO=o.sectLabel
else if(_stype=="block")
cO=o.blockLabel
else if(_stype=="column")
cO=o.columnLabel
}else if(_type=="link")
cO=o.links
else if(_type=="text")
cO=o.text
if(_type=="label")
if(cO.alignment !="")
rv+="
"
if(cO.fontInclination=="ITALICS")
rv+=""
if(cO.fontUnderline=="UNDERLINED")
rv+=""
if(cO.fontEmphasis=="BOLD")
rv+=""
rv+=""+_str+""
if(cO.fontEmphasis=="BOLD")
rv+=""
if(cO.fontUnderline=="UNDERLINED")
rv+=""
if(cO.fontInclination=="ITALICS")
rv+=""
if(_type=="label")
if(cO.alignment !="")
rv+="
"
return rv;
}
function label(_type, _str, _id) {
return format("label", _type, _str, _id);
}
function sortLink(_str, _id, _linkColor) {
return format("link", "", _str, _id, SORT_LINK_TLE_FOREGROUND);
}
function sortLink(_str, _id) {
return format("link", "", _str, _id, SORT_LINK_TLE_FOREGROUND);
}
function link(_str, _id) {
return format("link", "", _str, _id);
}
function text(_str, _id) {
return format("text", "", _str, _id);
}
function message(_note, _msg, _id){
var rv=""
if (_id==0 && _msg!=""){
if(_note!="") _msg=""+_note+": "+_msg
else _msg=""+_msg+""
rv=""
rv+=_msg+""
}
return rv
}
function multiMessages(_note, _msg, _id, _twidth, _cwidth1, _cwidth2){
var rv=""
var len=_msg.length
if (_id==0 && len!=0){
var bStyle=""
var eStyle=""
rv="";
if(_note==""){
for(i=0;i| "
rv+=""+bStyle+_msg[i]+eStyle+"";
rv+=" | ";
}
}else{
rv+="| ";
rv+=""+bStyle+_note+": "+eStyle+"";
rv+=" | ";
rv+=bStyle+_msg[0]+eStyle;
rv+=" |
";
for(i=1;i  | ";
rv+="";
rv+=bStyle+_msg[i]+eStyle;
rv+=" | ";
}
}
rv+="
"
}
return rv;
}
function showErrorMessage() {
window.open(getDocumentRoot()+"error.html", 'ERROR', 'scrollbars=yes,width='+SUBWINDOWWIDTH+',height='+SUBWINDOWHEIGHT+',left='+(screen.width-SUBWINDOWWIDTH)/2+',top='+(screen.height-SUBWINDOWHEIGHT)/2);
}
function showLoginMessage() {
window.open(getDocumentRoot()+"loginmessage.html", 'ERROR', 'scrollbars=no,width='+SUBWINDOWWIDTH+',height='+(SUBWINDOWHEIGHT/2-30)+',left='+(screen.width-SUBWINDOWWIDTH)/2+',top='+(screen.height-SUBWINDOWHEIGHT)/2);
}
function showValidationMessage() {
window.open(getDocumentRoot()+"validation.html", 'ERROR', 'scrollbars=yes,width='+SUBWINDOWWIDTH+',height='+SUBWINDOWHEIGHT+',left='+(screen.width-SUBWINDOWWIDTH)/2+',top='+(screen.height-SUBWINDOWHEIGHT)/2);
}
function addMessage(_msg, _caption) {
ERRORMSG[ERRORMSG.length] = _msg;
if (_caption && !isSpace(_caption))
ERRORCAPTION = _caption;
}
function resetMessage() {
ERRORMSG = new Array();
ERRORCAPTION = "ERROR";
}
function showMessage(_note){
var iNit=false;
var rv=" ";
var msg=ERRORCAPTION;
var fcolor="000000";
var wNote=true;
var isBold=false;
var cWidth="90";
var o=ERRORMSG;
if(msg=="ERROR"){
if(_note && !isSpace(_note))
msg=_note;
}
if(msg=="SUCCESS"){
msg="";
wNote=false;
isBold=true;
cWidth="100";
}else{
if(msg=="ERROR"){
fcolor="CC0000";
msg=TRANS_ERRORCAPTION
}
msg+=":";
}
if(o){
var len=o.length
if(len > 0){
var bStyle=""
var eStyle=""
rv="";
for(var i=0;i| "+bStyle+msg+eStyle+" | ";
iNit=true;
}else
rv+="| | ";
}
var s=bStyle+o[i]+eStyle
if(isBold)
s=""+s+"";
rv+=""+s+" |
"
}
}
rv+="
";
}
}
resetMessage();
return rv;
}
function setOffset(_offset) {
offset = _offset
}
function getOffset() {
return offset
}
function showCalendar(_m, _d, _y){
var mVal
var dVal
var yVal
if(checkDate(_m, _d, _y)){
mVal=_m.value
dVal=_d.value
yVal=_y.value
}else{
mVal=SERVERMONTH;
dVal=SERVERDAY;
yVal=SERVERYEAR;
}
if (mVal && dVal && yVal){
var d=new Date()
d.setYear(yVal)
d.setMonth(mVal-1)
d.setDate(dVal)
setOffset(d.getTime())
}
var myWin=window.open(getDocumentRoot()+"calendar.html", "CalendarWindow", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,height=350,width=400,top="+(screen.height-350)/2+",left="+(screen.width-400)/2);
openwindows[openwindows.length]=myWin;
child=myWin
monthF=_m
dayF=_d
yearF=_y
}
function setDate(_m, _d, _y){
monthF.value=_m
dayF.value=_d
yearF.value=_y
}
/**
Checks the string input if contains space
*/
function isSpace(str){
flag=true;
for(i=0;i12) || (m<1))
rv=false;
else if((d>31) || (d<1))
rv=false;
else if((m==9)||(m==4)||(m==6)||(m==11)){
if (d>30)
rv=false;
}else if(m==2){
if(leapYear(y)){
if(d>29)
rv=false;
}else{
if(d>28)
rv=false;
}
}
if(rv){
if(y<1000)
rv=false;
}
return rv;
}
function leapYear(_yr){
var rv=false;
if(_yr<1000) _yr+=1900
if(_yr%4 ==0){
if (_yr%100 ==0){
if (_yr%400 ==0)
rv=true
}
else {
rv=true
}
}
return rv
}
function checkAmtFormatForCCY(_amt, _limit_format_array, _ccy){
//get the format for CCY
var _integer = getFormatCCY(_limit_format_array, _ccy, 'I');
var _decimal = getFormatCCY(_limit_format_array, _ccy, 'D');
var rv=false;
var amt=_amt.value;
amt=trimLeadingTrailingSpaces(amt);
if(amt.indexOf(" ")==-1){
var len=amt.length;
var idx=amt.indexOf(".");
if(idx!=-1){
if(idx<=_integer){
var dec=amt.substring(idx+1, len);
len=dec.length
if(len==0)
amt+="00";
if(len<=_decimal)
rv=true;
}
}else if(len<=_integer)
rv=true;
}
_amt.value=amt;
return rv;
}
function getFormatCCY(_limit_format_array, _ccy, _indicator){
//to get the integer/decimal part for the ccy from array
var _integer = "";
var _decimal = "";
var format = "";
var SplitResult = "";
for (var i = 0; i < _limit_format_array.length; i++) {
//check if the _ccy in the array, if it is, get the format
for (var j = 0; j < _limit_format_array[i].length; j++) {
if (j==1 && _limit_format_array[i][j] == _ccy){
format = _limit_format_array[i][j-1];
SplitResult = format.split(".");
_integer = SplitResult[0];
_decimal = SplitResult[1];
}
}
//if the _ccy is not in the array (not in config file), set the format to default value
if ((i == _limit_format_array.length - 1) && (_integer == "") && (_decimal == "")){
format = _limit_format_array[i][0];
SplitResult = format.split(".");
_integer = SplitResult[0];
_decimal = SplitResult[1];
}
}
if (_indicator == 'I'){
return _integer;
}else if (_indicator == 'D'){
return _decimal;
}
}
function checkMaxValue(_amt, integer){
//check if the amount match the format but over limit
var rv=false;
var amt=_amt.value;
//var integer = _integer.value;
amt=trimLeadingTrailingSpaces(amt);
//integer=parseInt(trimLeadingTrailingSpaces(integer));
var num = Math.round(parseFloat(amt));
var max = "1";
for (var i=1; i <= integer; i++){
max = max + "0";
}
if(num == parseInt(max)){
return rv;
}else{
return true;
}
}
function checkAmtFormat(_amt){
var rv=false;
var amt=_amt.value;
amt=trimLeadingTrailingSpaces(amt);
if(amt.indexOf(" ")==-1){
var len=amt.length;
var idx=amt.indexOf(".");
if(idx!=-1){
if(idx<=9){
var dec=amt.substring(idx+1, len);
len=dec.length
if(len==0)
amt+="00";
if(len<=3)
rv=true;
}
}else if(len<=9)
rv=true;
}
_amt.value=amt;
return rv;
}
function checkAmtFormatExtended(_amt){
var rv=false;
var amt=_amt.value;
amt=trimLeadingTrailingSpaces(amt);
if(amt.indexOf(" ")==-1){
var len=amt.length;
var idx=amt.indexOf(".");
if(idx!=-1){
if(idx<=15){
var dec=amt.substring(idx+1, len);
len=dec.length
if(len==0)
amt+="00";
if(len<=3)
rv=true;
}
}else if(len<=15)
rv=true;
}
_amt.value=amt;
return rv;
}
function trimLeadingTrailingSpaces(_txt){
var frIdx=0;
var toIdx=_txt.length-1;
while(_txt.charAt(frIdx)==" ")
frIdx++;
while(_txt.charAt(toIdx)==" ")
toIdx--;
return _txt.substring(frIdx, toIdx+1);
}
function classifyMessage(_msg){
var idx=_msg.indexOf(":");
messageDtls=new Array(2);
messageDtls[0]=_msg.substring(0, idx);
messageDtls[1]=_msg.substring(idx+1, _msg.length);
return messageDtls;
}
function setMessage(_msg){
messageDtls=classifyMessage(_msg);
ERRORMSG[ERRORMSG.length]=messageDtls[1];
if(messageDtls[0] && !isSpace(messageDtls[0]))
ERRORCAPTION=messageDtls[0];
}
function displayMessage(_note, _align){
var rv=" ";
var iNit=false;
var wNote=true;
var isBold=false;
var cWidth="90";
var fcolor="CC0000";
var o=ERRORMSG
var ec=ERRORCAPTION;
var msg=TRANS_ERRORCAPTION;
if(ec=="9")
msg+=":";
else if(ec=="0" || ec=="1"){
msg="";
wNote=false;
isBold=true;
cWidth="100";
fcolor="000000";
}else if(ec=="2"){
msg=TRANS_WARNCAPTION+":";
fcolor="000000";
isBold=true;
}
if(o){
var len=o.length
if(len>0){
var bStyle=""
var eStyle=""
rv="";
for(var i=0; i| "+bStyle+msg+eStyle+" | ";
iNit=true;
}else
rv+="| | ";
}else{
rv+="
";
if(_align==1)
str+=" align='center'";
}
rv+=str+">";
str=bStyle+o[i]+eStyle;
if(isBold)
str=""+str+"";
rv+=str+"
";
}
}
rv+="
";
}
}
resetMessageType();
return rv;
}
function resetMessageType(){
ERRORMSG=new Array();
ERRORCAPTION="9";
}
initTransactionBlock();
function wrtCSS(_f, _n, _o, _c, _t){
var bg=(_c && _c!="")? "background-color:"+_c+";" : "";
var aln=(_o.alignment && _o.alignment!="")? "text-align:"+_o.alignment+";" : "";
var tfrm=(_t && _t!="")? "text-transform:"+_t+";" : "";
_dw(_f, "."+_n+"{font-size:10pt; font-family: "+_o.fontType+";font-style:"+_o.fontInclination+";font-weight:"+_o.fontEmphasis+";color:"+_o.fontColour+";vertical-align:middle;"+bg+aln+tfrm+"}");
}
function cpyTxt(_s, _d){
_d.fontType=_s.fontType;
_d.fontEmphasis=_s.fontEmphasis;
_d.fontInclination=_s.fontInclination;
_d.fontColour=_s.fontColour;
_d.fontUnderline=_s.fontUnderline;
}
function cpyLbl(_s,_d){
_d.fontType=_s.fontType;
_d.fontEmphasis=_s.fontEmphasis;
_d.fontInclination=_s.fontInclination;
_d.fontColour=_s.fontColour;
_d.fontUnderline=_s.fontUnderline;
_d.alignment=_s.alignment;
}
function mkBld(_o){
_o.fontEmphasis="BOLD";
}
function mkItal(_o){
_o.fontInclination="ITALIC";
}
function initCSS(_f){ //CRA optimization
var c=CurrentTransactionBlock;
var txt=new Text();
_dw(_f, "");
}